From a4bbbf0c5f1f68298d5f4e2c2cd80de7e758763c Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Tue, 7 Mar 2017 22:30:06 +0100
Subject: [PATCH] Add an option to disable bsddb

bsddb has an external dependency on Berkeley DB. Since we want to be
able to build Python without it, this patch adds an option to disable
the build/installation of this Python module.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
[Peter: update for 2.7.16]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
 Makefile.pre.in |  8 ++++++--
 configure.ac    | 22 ++++++++++++++++++++++
 2 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/Makefile.pre.in b/Makefile.pre.in
index 8dee345539..a0473096c1 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1053,7 +1053,7 @@ LIBSUBDIRS=	site-packages \
 		email email/mime \
 		ensurepip ensurepip/_bundled \
 		json \
-		logging bsddb csv importlib wsgiref \
+		logging csv importlib wsgiref \
 		ctypes ctypes/macholib \
 		idlelib idlelib/Icons \
 		distutils distutils/command \
@@ -1070,7 +1070,6 @@ TESTSUBDIRS = test test/audiodata test/capath test/data \
 	test/tracedmodules \
 	email/test email/test/data \
 	json/tests \
-	bsddb/test \
 	ctypes/test \
 	idlelib/idle_test \
 	distutils/tests \
@@ -1111,6 +1110,11 @@ ifeq (@EXPAT@,yes)
 LIBSUBDIRS += $(XMLLIBSUBDIRS)
 endif
 
+ifeq (@BSDDB@,yes)
+LIBSUBDIRS += bsddb
+TESTSUBDIRS += bsddb/test
+endif
+
 libinstall:	build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
 	@for i in $(SCRIPTDIR) $(LIBDEST); \
 	do \
diff --git a/configure.ac b/configure.ac
index 4e430d82b8..361e8c120e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2863,6 +2863,28 @@ AC_ARG_ENABLE(nis,
     	     DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis"
   	  fi])
 
+AC_ARG_ENABLE(dbm,
+	AS_HELP_STRING([--disable-dbm], [disable DBM]),
+	[ if test "$enableval" = "no"; then
+    	     DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} dbm"
+  	  fi])
+
+AC_ARG_ENABLE(gdbm,
+	AS_HELP_STRING([--disable-gdbm], [disable GDBM]),
+	[ if test "$enableval" = "no"; then
+    	     DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} gdbm"
+  	  fi])
+
+AC_SUBST(BSDDB)
+AC_ARG_ENABLE(bsddb,
+	AS_HELP_STRING([--disable-bsddb], [disable BerkeyleyDB]),
+	[ if test "$enableval" = "no"; then
+    	     BSDDB=no
+    	     DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _bsddb"
+  	  else
+	     BSDDB=yes
+  	  fi], [ BSDDB=yes ])
+
 AC_ARG_ENABLE(unicodedata,
 	AS_HELP_STRING([--disable-unicodedata], [disable unicodedata]),
 	[ if test "$enableval" = "no"; then
-- 
2.11.0

